Systems and methods for locating a tracking device

ABSTRACT

In one embodiment, a method includes receiving, by a first computing device from a user of the first computing device, a request to locate a tracking device associated with the first computing device. The method includes sending, by the first computing device to a tracking system server in response to receiving the request to locate the tracking device from the user of the first computing device, a request for a location of the tracking device. The method includes receiving, by the first computing device from the tracking system server, a location of the tracking device, the location of the tracking device being a location associated with the tracking device determined by a second computing device of the plurality of computing devices and provided by the second computing device in response to the second computing device receiving a signal from the tracking device.

CROSS REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/796,619, filed Feb. 20, 2020, which application is a continuation ofU.S. application Ser. No. 16/582,771, filed Sep. 25, 2019, now U.S. Pat.No. 10,609,514, which application is a continuation of U.S. applicationSer. No. 16/293,655, filed Mar. 6, 2019, now U.S. Pat. No. 10,469,991,which application is a continuation of U.S. application Ser. No.15/947,212, filed Apr. 6, 2018, now U.S. Pat. No. 10,271,171, whichapplication is a continuation of U.S. application Ser. No. 15/439,056,filed Feb. 22, 2017, now U.S. Pat. No. 9,961,498, which application is acontinuation of U.S. application Ser. No. 15/257,708, filed Sep. 6,2016, now U.S. Pat. No. 9,615,210, which application is a continuationof U.S. application Ser. No. 15/144,826, filed May 3, 2016, now U.S.Pat. No. 9,699,612, which application is a continuation of U.S.application Ser. No. 14/167,960, filed Jan. 29, 2014, now U.S. Pat. No.9,357,348, which claims the benefit of and priority of U.S. ProvisionalApplication No. 61/757,731 entitled “Distributed system for locatingitems,” filed on Jan. 29, 2013, U.S. Provisional Application No.61/872,478 entitled “Tracking Device,” filed on Aug. 30, 2013, and U.S.Design Pat. Application No. 29/470,567 entitled “Electronic TrackingDevice,” filed on Oct. 22, 2013, now U.S. Pat. No. D723,957, theentireties of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION 1. The Field of the Invention

One or more embodiments of the present invention relate generally tosystems and methods for locating a tracking device. More specifically,one or more embodiments of the present invention relate to systems andmethods for utilizing a community of users to locate a tracking device.

2. Background and Relevant Art

Electronic tracking devices have created numerous ways for people totrack the locations of people and/or objects. For example, a user canuse GPS technology to track a device remotely or determine a location ofthe user. In another example, a user can attach a tracking device to animportant object, such as keys or a wallet, and use the features of thetracking device to more quickly locate the object, (e.g., if it becomeslost).

However, traditional tracking devices and corresponding systems sufferfrom one or more disadvantages. For example, locating a tracking devicefrom a far-away distance requires a considerable amount of power. Thus,battery life of a tracking device is often limited. Further, technologyfor long-range tracking is expensive, and often requires sophisticatedcircuitry for operating in connection with an associated electronicdevice (e.g., mobile device).

Additionally, low-power options for tracking devices are limited totracking objects within require that a user be within a close proximityof the tracking devices. Thus, tracking devices that use low powerand/or less complex circuitry are often limited to providing thelocation of an object that is already near to a user.

Accordingly, there are a number of considerations to be made inproviding tracking device systems.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention provide systems and methods forlocating a tracking device. In particular, one or more embodimentsrelate to a method for locating a tracking device by leveraging thecapabilities of a mobile device and a community of mobile device users.In one configuration, a method includes associating a user with atracking device. The method further includes receiving an indicationthat the tracking device is lost. The method further includes setting aflag indicating that the tracking device is lost. The method furtherincludes receiving a location within a proximity of the tracking devicefrom one a plurality of mobile devices associated with a community ofusers. The method also includes providing the location to the user.

Another method is also described which includes a mobile deviceproviding tracking device information and user information to a trackingsystem for associating a user with a tracking device. The method furtherincludes sending an indication to the tracking system indicating thatthe tracking device is lost and receiving a response to the lostindication including a location within a proximity of the trackingdevice based on a location for the tracking device received from one ofa plurality of mobile devices associated with a community of users.

Another method is also described which includes a mobile devicedetecting a signal from a tracking device. The method further includesdetecting a location of the mobile device, and sending an electroniccommunication to a tracking system indicating an identification of thetracking device and the location. Detecting the signal and sending theelectronic communication are performed without input from a user of themobile device.

Additional features and advantages of the present invention will be setforth in the description that follows, and in part will be obvious fromthe description, or may be learned by the practice of such exemplaryembodiments. The features and advantages of such embodiments may berealized and obtained by means of the instruments and combinationsparticularly pointed out in the appended claims. These and otherfeatures will become more fully apparent from the following descriptionand appended claims, or may be learned by the practice of such exemplaryembodiments as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the invention can be obtained, a moreparticular description of the invention briefly described above will berendered by reference to specific embodiments thereof that areillustrated in the appended drawings. It should be noted that thefigures are not drawn to scale, and that elements of similar structureor function are generally represented by like reference numerals forillustrative purposes throughout the figures. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings.

FIG. 1 illustrates an exemplary implementation for locating a trackingdevice according to principles described herein.

FIG. 2 illustrates an exemplary tracking system of the implementation ofFIG. 1.

FIG. 3 illustrates an exemplary user mobile device of the implementationof FIG. 1.

FIG. 4 illustrates an exemplary community mobile device of theimplementation of FIG. 1.

FIG. 5 illustrates an exemplary mobile device according to principlesdescribed herein.

FIGS. 6A-6B illustrate exemplary views of an electronic communicationuser interface according to principles described herein.

FIG. 7 illustrates an exemplary method of locating a tracking deviceaccording to principles described herein.

FIG. 8 illustrates another exemplary method of locating a trackingdevice according to principles described herein.

FIG. 9 illustrates yet another exemplary method of locating a trackingdevice according to principles described herein.

FIG. 10 illustrates a flow diagram according to principles describedherein.

FIG. 11 illustrates a block diagram of an exemplary computing deviceaccording to principles described herein.

DETAILED DESCRIPTION

Embodiments of the present invention provide benefits and/or solve oneor more of the foregoing or other problems in the art for locating atracking device. In particular, example implementations of the presentinvention provide a user with the ability to locate one or morelow-power tracking devices by leveraging the capabilities of a pluralityof mobile devices associated with a community of users (e.g., users ofthe same tracking device system).

In accordance with embodiments of the present application, a user canattach a tracking device to or enclose the tracking device within anobject, such as a wallet, keys, a car, a bike, a pet, or any otherobject that the user wants to track. The user can then use a mobiledevice (e.g., by way of a software application installed on the mobiledevice) to track the tracking device and corresponding object. Forexample, the mobile device may be used to perform a local search for atracking device attached to a near-by object. However, in situationswhere the user is unable to locate the tracking device using their ownmobile device (e.g., if the tracking device is beyond a distance withinwhich the mobile device and the tracking device can communicate), theprinciples described herein allow the user to leverage the capabilitiesof a community of users of a tracking device system.

In particular, a tracking system disclosed herein can maintain userprofiles associated with a plurality of users of the system. Thetracking system can associate each user within the system with one ormore tracking devices associated the user (e.g., tracking devices thatthe user has purchased and is using to track objects owned by the user).If the user's object becomes lost or stolen, the user can send anindication that the tracking device is lost to the tracking system,which is in communication with one or more mobile devices associatedwith the community of users in communication with the system. Thetracking system can set a flag indicating the tracking device is lost.Therefore, when one of a community of mobile devices that are scanningfor nearby tracking devices and providing updated locations to thetracking system, the tracking system can associate the received locationwith a flagged tracking device, and relay the location to a user of thetracking device, thereby enabling the user to locate and track down thetracking device.

In addition to utilizing a general community of users, a user of thetracking system may desire to utilize the tracking capabilities of aspecific group of one or more known users (e.g., friends or family ofthe user). For example, a user may indicate one or more friends or otherusers with which a tracking device may be shared. Sharing the trackingdevice may provide the ability for a friend to quickly determine if atracking device is close-by without also querying a larger community ofusers, or to enable a friend to contact a user directly with informationabout the location of a lost tracking device.

Exemplary systems and methods will now be described in reference to thedrawings.

FIG. 1 illustrates an exemplary implementation in which a trackingsystem 100 is communicatively coupled to a mobile device 102 associatedwith the user 103 and a plurality of community mobile devices 104 athrough 104 n (collectively referred to herein as “community mobiledevices 104”) associated with a plurality of users 105 a through 105 nof the tracking system 100 (collectively referred to herein as“community users 105”). As will be explained in more detail below, thetracking system 100 can allow the user 103 to manage and/or locate atracking device 106 associated with the user 103. In some embodiments,the tracking system 100 leverages the capabilities of community mobiledevices 104 to locate the tracking device 106 if the location of thetracking device is unknown to the user 103 and beyond the capabilitiesof mobile device 102 to track. In some configurations, the user 103 mayown and register multiple tracking devices 106. Although FIG. 1illustrates a particular arrangement of the tracking system 100, mobiledevice 102, community mobile devices 104, and tracking device 106,various additional arrangements are possible.

In some configurations, the user 103 may be part of the community ofusers 105. Further, one or more users 105 may own and register one ormore tracking devices 106. Thus, any one of the users within thecommunity of users 105 can communicate with tracking system 100 andleverage the capabilities of the community of users 105 in addition tothe user 103 to locate a tracking device 106 that has been lost.

The tracking system 100, mobile device 102, and plurality of communitymobile devices 104 may communicate using any communication platforms andtechnologies suitable for transporting data and/or communicationsignals, including known communication technologies, devices, media, andprotocols supportive of remote data communications.

In certain embodiments, the tracking system 100, mobile device 102, andcommunity mobile devices 104 may communicate via a network 108, whichmay include one or more networks, including, but not limited to,wireless networks (e.g., wireless communication networks), mobiletelephone networks (e.g., cellular telephone networks), closedcommunication networks, open communication networks, satellite networks,navigation networks, broadband networks, narrowband networks, theInternet, local area networks, and any other networks capable ofcarrying data and/or communications signals between the tracking system100, mobile device 102, and community mobile devices 104. The mobiledevice 102 and community of mobile devices 104 may also be incommunication with a tracking device 106 via a second network 110. Thesecond network 110 may be a similar or different type of network as thefirst network 108. In some embodiments, the second network 110 comprisesa wireless network with a limited communication range, such as aBluetooth or Bluetooth Low Energy (BLE) wireless network. In someconfigurations, the second network 110 is a point-to-point networkincluding the tracking device 106 and one or more mobile devices thatfall within a proximity of the tracking device 106. Accordingly, themobile device 102 and community mobile devices 104 are only able tocommunicate with the tracking device 106 if they are within a closeproximity to the tracking device. In some configurations, the mobiledevice 102 and one or more community mobile devices 104 may each beassociated with multiple tracking devices associated with various users.

As mentioned above, FIG. 1 illustrates the mobile device 102 associatedwith the user 103. The mobile device 102 can be configured to performone or more functions described herein with respect to locating trackingdevices (e.g., tracking device 106). For example, the mobile device 102can receive input from the user 103 representative of information aboutthe user 103 and information about a tracking device 106. The mobiledevice 102 may then provide the received user information, trackingdevice information, and/or information about the mobile device 102 tothe tracking system 100. Accordingly, the tracking system 100 is able toassociate the mobile device 102, the user 103, and/or the trackingdevice 106 with one another. In some embodiments, the mobile device 102can communicate with the tracking device 106 and provide informationregarding the location of the tracking device to the user 103. Forexample, the mobile device 102 can detect a communication signal fromthe tracking device 106 (e.g., by way of second network 110) as well asa strength of the communication signal to determine an approximatedistance between the mobile device 102 and the tracking device 106. Themobile device 102 can then provide this information to the user 103(e.g., by way of one or more graphical user interfaces) to assist theuser 103 to locate the tracking device 106. Accordingly, the user 103can use the mobile device 102 to track and locate the tracking device106 and a corresponding object associated with the tracking device 106.However, if the mobile device 102 is located beyond the range ofcommunication with the tracking device 106 (e.g., beyond the secondnetwork 110), the mobile device 102 will be unable to assist the user103 in finding the tracking device 106. In such situations, the mobiledevice 102 can be configured to send an indication that a trackingdevice 106 is lost to the tracking system 100, requesting assistance infinding the tracking device. The mobile device 102 can send anindication of a lost device in response to a command from the user 103.For example, once the user 103 has determined that the tracking device106 is lost, the user can provide user input to the mobile device 102(e.g., by way of a graphical user interface), requesting that the mobiledevice 102 send an indication that the tracking device 106 is lost tothe tracking system 100. In some examples, the lost indication caninclude information identifying the user 103 (e.g., name, username,authentication information), information associated with the mobiledevice 102 (e.g., a mobile phone number), information associated withthe tracking device (e.g., a unique tracking device identifier), or alocation of the user (e.g., a GPS location of the mobile device 102 atthe time the request is sent).

The tracking system 100 can be configured to provide a number offeatures and services associated with the tracking and management of aplurality of tracking devices and/or users associated with the trackingdevices. For example, the tracking system 100 can manage informationand/or user profiles associated with user 103 and community users 105.In particular, the tracking system 100 can manage information associatedwith the tracking device 106 and/or other tracking devices associatedwith the user 103 and/or the community users 105.

As mentioned above, the tracking system 100 can receive an indicationthat the tracking device 106 is lost from the mobile device 102. Thetracking system 100 can then process the indication in order to help theuser 103 find the tracking device 106. For example, the tracking system100 can leverage the capabilities of the community mobile devices 104 tohelp find the tracking device 106. In particular, the tracking system100 may set a flag for a tracking device 106 to indicate that thetracking device 106 lost and monitor communications received from thecommunity mobile devices 104 indicating the location of one or moretracking devices 106 within proximity of the community mobile devices104. The tracking system 100 can determine whether a specific locationis associated with the lost tracking device 106 and provide any locationupdates associated with the tracking device 106 to the mobile device102. In one example, the tracking system may receive constant updates oftracking device 106 locations regardless of whether a tracking device106 is lost and provide a most recent updated location of the trackingdevice 106 in response to receiving an indication that the trackingdevice 106 is lost.

In some configurations, the tracking system 100 can send a locationrequest associated with the tracking device 106 to each of the communitymobile devices 104. The location request can include any instructionsand/or information necessary for the community mobile devices 106 tofind the tracking device 102. For example, the location request caninclude a unique identifier associated with the tracking device 106 thatcan be used by the community mobile devices 104 to identify the trackingdevice 106. Accordingly, if one of the community mobile devices 104detects a communication with the tracking device 106 (e.g., if thecommunity mobile device 104 is within range or moves within range of thecommunication capabilities of the tracking device 106 and receives asignal from the tracking device 106 comprising the unique identifier),the community mobile device 104 can inform the tracking system 100.Using the information received from the community mobile devices 104,the tracking system 100 can inform the user (e.g., by way of the mobiledevice 102) of a potential location of the tracking device 106.

As shown in FIG. 1 and as mentioned above, the tracking system 100 cancommunicate with a plurality of community mobile devices 104 associatedwith corresponding community users 116. For example, an implementationmay include a first community mobile device 112 a associated with afirst community user 116 a, a second community mobile device 112 bassociated with a second community user 116 b, up to an nth communitymobile device 112 n associated with an nth community user 116 n. Thecommunity mobile devices 112 may also include functionality that enableseach community mobile device 112 to identify a tracking device 106within a proximity of the community mobile device 112. In one example, afirst community mobile device 112 a within proximity of a trackingdevice 106 can communicate with the tracking device 106, identify thetracking device 106 (e.g., using a unique identifier associated with thetracking device 106), and/or detect a location associated with thetracking device 106 (e.g., a location of the first mobile communitydevice 104 a at the time of the communication with the tracking device106). This information can be used to provide updated locations and/orrespond to a location request from the tracking system 100 regarding thetracking device 106. In some embodiments, the steps performed by thefirst community mobile device 104 a can be hidden from the firstcommunity user 105 a. Accordingly, the first community mobile device 104a can assist in locating the tracking device 106 without bother andwithout the knowledge of the first community user 105 a.

As mentioned above, the tracking system 100 can assist a user 103 inlocating a tracking device 106. The tracking device may be a chip, tile,tag, or other device for housing circuitry and that may be attached toor enclosed within an object such as a wallet, keys, purse, car, orother object that the user 103 may track. Additionally, the trackingdevice 106 may include a speaker for emitting a sound and/or atransmitter for broadcasting a beacon. In one configuration, thetracking device 106 may constantly transmit a beacon signal that may bedetected using a nearby mobile device 102 and/or community mobile device104. In some configurations, the tracking device 106 broadcasts a beaconat regular intervals (e.g., one second intervals) that may be detectedfrom a nearby mobile device (e.g., community mobile device 104). Thestrength of the signal emitted from the tracking device 106 may be usedto determine a degree of proximity to the mobile device 102 or communitymobile device 104 that detects the signal. For example, a higherstrength signal would indicate a close proximity between the trackingdevice 106 and the mobile device 102 and a lower strength signal wouldindicate a more remote proximity between the tracking device 106 and themobile device 102. In some cases, the strength of signal or absence of asignal may be used to indicate that a tracking device 106 is lost.

FIG. 2 illustrates a diagram showing example components of the trackingsystem 100. As shown, the tracking system 100 may include, but is notlimited to, an association manager 204, a tracking device locationmanager 206, and a data manager 208, each of which may be incommunication with one another using any suitable communicationtechnologies. It will be recognized that although managers 204-208 areshown to be separate in FIG. 2, any of the managers 204-208 may becombined into fewer managers, such as into a single manager, or dividedinto more managers as may serve a particular embodiment.

The association manager 204 may be configured to receive, transmit,obtain, and/or update information about a user 103 and/or informationabout one or more specific tracking devices (e.g., tracking device 106).In some configurations, the association manager 204 may associateinformation associated with a user 103 with information associated witha tracking device 106. For example, user information and trackinginformation may be obtained by way of a mobile device 102, and theassociation manager 204 may be used to link the user information andtracking information. The association between user 103 and trackingdevice 106 may be used for authentication purposes, or for storing userinformation, tracking device information, permissions, or otherinformation about a user 103 and/or tracking device 106 in a database.

The tracking system 100 also includes a tracking device location manager206. The tracking device location manager 206 may receive and process anindication that the tracking device 106 is lost from a mobile device(e.g., mobile device 102 or community mobile devices 104). For example,the tracking system 100 may receive a lost indication from a mobiledevice 102 indicating that the tracking device 106 is lost. The trackingdevice location manager 206 may set a flag on a database (e.g., trackerdatabase 212) indicating that the tracking device 106 is lost. Thetracking device location manager 206 may also query a database todetermine tracking information corresponding to the associated user 103and/or tracking device 106. The tracking system 100 may obtain trackingdevice information and provide the tracking device information or otherinformation associated with the tracking device 106 to a plurality ofcommunity mobile devices 104 to be on alert for the lost or unavailabletracking device 106. The tracking device location manager 206 may alsobe used to receive and process a response to a tracking request that isreceived from one or more community mobile devices 104 that detect thetracking device 106 and respond to the tracking request. For example,the tracking system 100 may receive a response to the tracking requestindicating a location within a proximity of the tracking device 106 andprovide a last known location within a proximity of the tracking device106 as provided by the community mobile device 104.

In one configuration, the tracking device location manager 206 mayreceive an indication that a tracking device 106 is lost from the mobiledevice 102 and store the lost indication on a database. When thetracking device location manager 206 receives an indication that thetracking device 106 is lost, the tracking device location manager 206may set a flag indicating that the tracking device 106 is lost. Settinga flag for a tracking device 106 may include storing and/or associatinga value associated with the tracking device that indicates that thetracking device 106 is lost. This may include setting a flag, marker,digital value, or other indication that the tracking device 106 is lostand maintaining or storing the indication of the lost tracking device106 on the tracking system 100 (e.g., on a database).

The tracking device location manager 206 may further receive updatedlocations from the community of mobile devices 104 that are constantlyscanning for nearby tracking devices 106. In this example, the trackingdevice location manager 206 may receive location updates from thecommunity of mobile devices 104 and, based on the tracking device 106being indicated as lost, provide a response to a lost indication to themobile device 102. The response to the lost indication may be a textmessage, push notification, ring tone, automated voice message, or otherresponse for informing a user 103 that a tracking device 106 has beenfound and/or an updated location of the tracking device 106.

The tracking device location manager 206 may further manage providingindications about whether a tracking device 106 is lost or not lost. Forexample, as discussed above, the tracking device location manager 206may provide a location request to the community of mobile devices 104indicating that a tracking device 106 is lost. Additionally, uponlocation of the tracking device 106 by the user 103 or by one of thecommunity of users 105, the tracking device location manager 206 mayprovide an indication to the user 103, community user 105, or trackingsystem 100 that the tracking device 106 has been found, thus removingany flags associated with a tracking device and/or canceling anylocation request previously provided to the community of users 105. Forexample, where a user 103 sends an indication that the tracking device106 is lost to the tracking system 100 and later finds the trackingdevice 106, the mobile device 102 may provide an indication to thetracking system 100 that the tracking device 106 has been found. Inresponse, the tracking device location manager 206 may remove a flagindicating that the tracking device 106 is lost and/or provide anupdated indication to the community of users 105 that the trackingdevice 106 has been found, thus canceling any instructions associatedwith the previously provided location request. In some configurations,the notification that the tracking device 106 has been found may beprovided automatically upon the mobile device 102 detecting a proximityof the tracking device 106. Alternatively, the notification that thetracking device 106 has been found may be provided by the user 103 viauser input on the mobile device 102. In another example, a known user(e.g., a friend or family member) with whom the tracking device 106 hasbeen shared may provide an indication that the tracking device 106 hasbeen found.

The tracking system 100 additionally includes a data manager 208. Thedata manager 208 may store and manage information associated with users,mobile devices, tracking devices, permissions, location requests, andother data that may be stored and/or maintained in a database related toperforming location services of tracking devices. As shown, the datamanager 208 may include, but is not limited to, a user database 210, atracker database 212, permissions data 214, and location request data216. It will be recognized that although databases and data within thedata manager 208 are shown to be separate in FIG. 2, any of the userdatabase 210, tracker database 212, permissions data 214, and locationrequest data 216 may be combined in a single database or manager, ordivided into more databases or managers as may serve a particularembodiment.

The data manager 208 may include the user database 210. The userdatabase 210 may be used to store data related to various users. Forexample, the user database 210 may include data about the user 103 aswell as data about each user 105 in a community of users 105. Thecommunity of users 105 may include any user that has provided userinformation to the tracking system 100 via a mobile device 102, 104 orother electronic device. The user information may be associated with oneor more respective tracking devices 106, or may be stored without anassociation to a particular tracking device. For example, a communityuser 105 may provide user information and permit performance of trackingfunctions on the community mobile device 104 without owning or beingassociated with a tracking device 106. The user database 210 may alsoinclude information about one or more mobile devices or other electronicdevices associated with a particular user.

The data manager 208 may also include a tracker database 212. Thetracker database 212 may be used to store data related to trackingdevices. For example, the tracker database 212 may include tracking datafor any tracking device 106 that has been registered with the trackingsystem 100. Tracking data may include unique tracker identifications(IDs) associated with individual tracking devices 106. Tracker IDs maybe associated with a respective user 103. Tracker IDs may also beassociated with multiple users. Additionally, the tracker database 212may include any flags or other indications associated with whether aspecific tracking device 106 has been indicated as lost and whether anyincoming communications with regard to that tracking device 106 shouldbe processed based on the presence of a flag associated with thetracking device 106.

The data manager 208 may further include permissions data 214 andlocation request data 216. Permissions data 214 may include levels ofpermissions associated with a particular user 103 and/or tracking device106. For example, permissions data 214 may include additional users thathave been indicated as sharing a tracking device 106, or who have beengiven permission to locate a tracking device 106 using an account and/ormobile device 102 associated with the user 103. Location request data216 may include information related to a location request or a lostindication received from the user 103 via a mobile device 102.

FIG. 3 illustrates a diagram showing example components of the mobiledevice 102. As shown, the mobile device 102 may include, but is notlimited to, a user interface manager 302, a location request manager304, a database manager 306, and a tracking manager 308, each of whichmay be in communication with one another using any suitablecommunication technologies. It will be recognized that although managers302-308 are shown to be separate in FIG. 3, any of the managers 302-308may be combined into fewer managers, such as into a single manager, ordivided into more managers as may serve a particular embodiment.

As will be explained in more detail below, the mobile device 102includes the user interface manager 302. The user interface manager 302may facilitate providing the user 103 access to data on a trackingsystem 100 and/or providing data to the tracking system 100. Further,the user interface manager 302 provides a user interface by which theuser 103 may communicate with tracking system 100 and/or tracking device106 via mobile device 102.

The mobile device 102 may also include a location request manager 304.The location request manager 304 may receive and process a request inputto the mobile device 102 to send an indication that a tracking device106 is lost to a tracking system 100. For example, the user 103 mayprovide an indication that a tracking device 106 is lost, unreachable,or otherwise unavailable from the mobile device 102 via the userinterface manager 302, and the location request manager 304 may processthe lost indication and provide any necessary data to the trackingsystem 100 for processing and relaying a location request to other users105 over a network 108. In some configurations, an indication that atracking device 106 is lost is provided via user input. Alternatively,the indication may be transmitted automatically in response to themobile device 102 determining that a tracking device 106 is lost.

The mobile device 102 may also include a database manager 306. Thedatabase manager 306 may maintain data related to the user 103, trackingdevice 106, permissions, or other data that may be used for locating atracking device 106 and/or providing a request to a tracking system 100for locating one or more tracking devices 106 associated with the user103. Further, the database manager 306 may maintain any information thatmay be accessed using any other manager on the mobile device 102.

The mobile device 102 may further include a tracking manager 308. Thetracking manager 308 may include a tracking application (e.g., asoftware application) for communicating with and locating a trackingdevice 106 associated with the user 103. For example, the trackingmanager 308 may be one configuration of a tracking application installedon the mobile device 102 that provides the functionality for locating atracking device 106 and/or requesting location of a tracking device 106using a plurality of community mobile devices 104. As shown, thetracking manager 308 may include, but is not limited to, a Bluetooth LowEnergy (BLE) manager 310, a persistence manager 312, a local filesmanager 314, a motion manager 316, a secure storage manager 318, asettings manager 320, a location manager 322, a network manager 324, anotification manager 326, a sound manager 328, a friends manager 330, aphoto manager 332, an authentication manager 334, and a device manager336. Thus, the tracking manager 308 may perform any of the functionsassociated with managers 310-338, described in additional detail below.

The BLE manager 310 may be used to manage communication with one or moretracking devices 106. The persistence manager 312 may be used to storelogical schema information that is relevant to the tracking manager 308.The local files manager 314 may be responsible for managing all filesthat are input or output from the mobile device 102. The motion manager316 may be responsible for all motion management required by thetracking manager 308. The secure storage manager may be responsible forstorage of secure data, including information such as passwords andprivate data that would be accessed through this sub-system. Thesettings manager 320 may be responsible for managing settings used bythe tracking manager 308. Such settings may be user controlled (e.g.,user settings) or defined by the tracking manager 308 for internal use(e.g., application settings) by a mobile device 102 and/or the trackingsystem 100. The location manager 322 may be responsible for all locationtracking done by the tracking manager 308. For example, the locationmanager 322 may manage access to the location services of the mobiledevice 102 and works in conjunction with other managers to persist data.The network manager 324 may be responsible for all Internetcommunications from the tracking manager 308. For example, the networkmanager 324 may mediate all Internet API calls for the tracking manager308. The notification manager 326 may be responsible for managing localand push notifications required by the tracking manager 308. The soundmanager 328 may be responsible for playback of audio cues by thetracking manager 308. The friends manager 330 may be responsible formanaging access to contacts and the user's social graph. The photomanager 332 may be responsible for capturing and managing photos used bythe tracking manager 308. The authentication manager 334 may beresponsible for handling the authentication (e.g., sign in or login) ofusers. The authentication manager 334 may also include registration(e.g., sign up) functionality. The authentication manager 334 furthercoordinates with other managers to achieve registration functionality.The device manager 336 may be responsible for managing the devicesdiscovered by the tracking manager 308. The device manager 336 mayfurther store and/or maintain the logic for algorithms related to devicediscovery and update.

FIG. 4 illustrates a diagram showing example components of a communitymobile device 104. As shown, the community mobile device 104 mayinclude, but is not limited to, a user interface manager 402, a losttracking device manager 404, a database manager 406, and a trackingmanager 408, each of which may be in communication with one anotherusing any suitable communication technologies. The user interfacemanager 402, database manager 406, and tracking manager 408 illustratedin FIG. 4 may include similar features and functionality as the userinterface manager 302, database manager 306, and tracking manager 308described above in connection with FIG. 3. It will be recognized thatalthough managers 402-408 are shown to be separate in FIG. 4, any of themanagers 402-408 may be combined into fewer managers, such as into asingle manager, or divided into more managers as may serve a particularembodiment.

The community mobile device 104 may include a lost tracking devicemanager 404. The lost tracking device manager 404 may facilitatescanning for nearby tracking devices 106. In some configurations, thelost tracking device manager 404 can continuously or periodically scan(e.g., once per second) for nearby tracking devices 106. The losttracking device manager 404 may determine whether to provide an updatedlocation of the nearby tracking device 106 to the tracking system 100.In some configurations, the lost tracking device manager 404 provides alocation of a nearby tracking device 106 automatically. Alternatively,the lost tracking device manager 404 may determine whether the locationof the tracking device 106 has been recently updated, and determinewhether to provide an updated location based on the last time a locationof the tracking device 106 has been updated (e.g., by the communitymobile device 104). For example, where the community mobile device 104has provided a recent update of the location of a tracking device 106,the lost tracking device manager 404 may decide to wait a predeterminedperiod of time (e.g., 5 minutes) before providing an updated location ofthe same tracking device 106.

In one configuration, the lost tracking device manager 404 may receiveand process a location request or other information relayed to thecommunity mobile device 104 by the tracking system 100. For example, thelost tracking device manager 404 may receive an indication of a trackingdevice 106 that has been indicated as lost, and provide a location ofthe tracking device 106 if it comes within proximity of the communitymobile device 104. In some configurations, the community mobile device104 is constantly scanning nearby areas to determine if there is atracking device 106 within a proximity of the community mobile device104. Therefore, where a tracking device 106 that matches informationprovided by the tracking system 100 (e.g., from the location request)comes within proximity of the community mobile device 104, the losttracking device manager 404 may generate and transmit a response to thelocation request to the tracking system 100, which may be provided tothe user 103 associated with the lost tracking device 106. Further,generating and transmitting the response to the tracking request may beconditioned on the status of the tracking device 106 being flagged aslost by the mobile device 102 and/or the tracking system 100.

The lost tracking device manager 404 may additionally provide otherinformation to the tracking system 100 in response to receiving thetracking request. For example, in addition to providing a location ofthe community mobile device 104, the lost tracking device manager mayprovide a signal strength associated with the location to indicate alevel of proximity to the location of the community mobile device 104provided to the user 103. For example, if a signal strength is high, thelocation provided to the user 103 is likely to be more accurate than alocation accompanied by a low signal strength. This may provideadditional information that the user 103 may find useful in determiningthe precise location of tracking device 106.

As described above, the lost tracking device manager 404 may determinewhether to send a location within the proximity of the tracking device106 to the tracking system 100. The determination of whether to send alocation to the tracking system 100 may be based on a variety offactors. For example, a lost tracking device manager 404 may determineto send a location of the tracking device 106 to a tracking system 100based on whether the detected tracking device 106 has been indicated aslost or if a tracking request has been provided to the community mobiledevice 104 for the particular tracking device 106. In someconfigurations, the community mobile device 104 may send an update of alocation of a tracking device 106 even if the tracking device 106 is notassociated with a current tracking request or if the tracking device 106is not indicated as lost. For example, where the location of a trackingdevice 106 has not been updated for a predetermined period of time, thecommunity mobile device 104 may provide an update of a tracking devicelocation to the tracking system 100, regardless of whether a trackingrequest has been received.

In some configurations, the community mobile device 104 may includeadditional features. For example, the community mobile device 104 mayallow a tracking system 100 to snap and download a photo using photofunctionality of the community mobile device 104. In someconfigurations, this may be an opt-in feature by which a community user105 permits a tracking system 100 to take a snap-shot and possiblyprovide a visual image of an area within a proximity of the trackingdevice 106.

FIG. 5 illustrates one configuration of a mobile device 500 (e.g., asmartphone) that may be implemented in a system for locating a trackingdevice 106. Additionally, the system described above in FIG. 1 may beimplemented by other suitable computing devices, such as, but notlimited to, a tablet, a handheld device, a laptop or desktop computer, apersonal-digital assistant device, and/or any other suitable computingdevice configured to perform one or more of the processes and/oroperations described herein. As illustrated in FIG. 5, the mobile device500 may include a touchscreen 502 by way of which a user interface maybe presented and/or by way of which user input may be received by themobile device 102. Additionally or alternatively, the mobile device 102may include any other suitable input device (e.g., a keypad, one or moreinput buttons, a touch screen). It will be appreciated that the mobiledevice 500 illustrated in FIG. 5 may be one configuration of a mobiledevice 102 or any one of the community mobile devices 104 implemented inthe system for locating a tracking device 106.

In some configurations, the user 103 may utilize the touch screen 502 toprovide one or more touch gestures, interact with a user interface,and/or access information about the user 103 and/or tracking device 106.To illustrate, the user 103 may utilize the touch screen 502 to browse,search, and select tracking devices 106 and select options associatedtherewith. For example, the user 103 may select a tracking device 106and perform a local search for the tracking device 106. Additionally,the user 103 may use the touch screen 502 to select a location requestcausing the mobile device 102 to provide an indication of a losttracking device 106 to tracking system 100 to be relayed (e.g.,broadcast) to community of mobile devices 104. It will be understoodthat various areas comprising the touch screen 502 may be arranged inany manner conductive to facilitate input and viewing of items on themobile device 500.

Regardless of the specific type of computing device, the mobile device500 may be implemented using a variety of configurations. FIGS. 6A-6Billustrate example implementations of the user interface 502 that may beconfigured using the principles herein.

FIG. 6A illustrates an example of a display of the user interface 502that facilitates locating the tracking device 106 using the mobiledevice 500. In one configuration, the user interface 502 may present aproximity indicator 602, tracking device information 604, one or morelocal tracking options 606, and one or more remote tracking options 608.The proximity indicator 602 may include a visual indication forindicating to the user 103 a degree of proximity of the mobile device500 to a tracking device 106. For example, the proximity indicator 602may include a number of icons that light up or turn off based on adetected distance of a tracking device 106 and the mobile device 500.Each icon may correspond to a specific threshold distance based on astrength of a signal detected from the tracking device 106 during alocal search. Other types of indicators may be used to demonstrate adegree of proximity of a tracking device 106. For example, a proximityindicator 602 may change colors, provide a hot/cold indicator, or othermethod for providing the user 103 an indication of how close or far atracking device is relative to the mobile device.

The user interface may further include a display of tracking deviceinformation 604. Tracking device information 604 may include a name of atracking device 106 that has been assigned by the user 103, a last knownlocation of the tracking device 106 that has been provided to the mobiledevice 500 and/or tracking system 100, as well as a time at which thelast known location was noted (either using the mobile device 500 or aother device in communication with the tracking system 100). In theillustrated example, tracking device information 604 may indicate that atracking device named “Alpha Tile” was last known to be located in SanMateo, Calif. five minutes earlier. Other tracking device information604 may also be displayed.

The user interface may also include local tracking options 606. Localtracking options 606 may include causing the tracking device to play asound, or may include a local tracking option for using the proximitysensor of the mobile device 500 and tracking device 106 to search forand locate the tracking device 106. Other local tracking options 606,including a selection of various views or preferences, may also bedisplayed. In the illustrated example, the user 103 may select “playsound” to cause a tracking device 106 to emit a sound. Alternatively,the user 103 may select the “find now” option to cause the proximityindicator 602 to visually or audibly indicate a relative proximitybetween the mobile device 500 and the tracking device 106. Where theuser 103 is able to find tracking device 106 via the “find now” or “playsound” option, the user 103 may select a “found it” option to indicatethat the tracking device 106 has been located, and the tracking servicesmay be stopped on the mobile device 500. Alternatively, the “found it”option may prompt the mobile device 500 to send an update of thetracking device location to a tracking system 100 to update trackingdevice information on one or more databases on the tracking system 100.

The user interface also includes one or more remote tracking options608. The remote tracking options 608 may be used to solicit help fromone or more community mobile devices 104 to obtain a location of atracking device 106. For example, the user 103 may select the “stilllost” option in the case that one or more local tracking options 606 areunsuccessful in locating tracking device 106. Selecting the “still lost”option may cause the mobile device 500 to send a lost indication to thetracking system 100. The lost indication may be used by the trackingsystem 100 to set a flag for the tracking device 106 and/or relay alocation request to the community of mobile devices 104. In oneconfiguration, the “still lost” option may be selected to present one ormore additional remote tracking options. Remote tracking options 608 mayinclude querying a group of friends with shared access to the trackingdevice 106, or providing a notification to a friend or known user.Additionally, the remote tracking options 608 may include providing anotification to any or all friends of the user 103 indicating that atracking device 106 has been lost. In some configurations, the user 103may select an icon that specifically marks a tracking device 106 aslost, and provides an indication to the tracking system 100 to notifyany user within the community of users 105 that the tracking device 106is lost.

FIG. 6B illustrates an example of a display of the user interface thatfacilitates locating a tracking device 106 using the mobile device 500.In one configuration, the user interface may present a plurality oftracked objects 608 that are attached to respective tracking devices106. For example, the user 103 may have a bike, keys, and a bag that areeach attached to or associated with respective tracking devices 106. Theuser interface may display an image or other icon associated with thetracked objects 608. Each tracked object icon 608 may also includeinformation about the tracking device 106 and/or the tracked object 608,such as the last known location and a time at which the tracking device106 was last detected by the mobile device 500 or a community mobiledevice 104.

The user interface may also display one or more tracked objects 610associated with one or more friends of the user. For example, theillustrated user interface illustrates three tracked objects 610 thatare not owned by the user 103, but rather associated with other usersthat are friends of the user 103. The user interface may further displayan image or other icon associated with the tracked objects 610associated with the friends. Additionally, the icons may include userinformation and/or tracking device information indicating a last knownlocation, a time of the last known location, and any other informationthat the user 103 has been granted permission to view.

The user 103 may obtain one or more permissions associated with trackingdevices 610 of friends. For example, the user 103 may perform a localsearch for a friend object and provide an update or an indication of thelocation proximate to the friend object to the tracking system 100 or amobile device of the friend. In another configuration, the user 103 mayperform a remote search for a tracking device 106 associated with afriend according to permissions that have been granted the user 103 fromthe friend.

FIG. 7 illustrates an exemplary method 700 of locating a tracking device106. While FIG. 7 illustrates exemplary steps according to oneembodiment, other embodiments may omit, add to, reorder, and/or modifyany of the steps shown in FIG. 7. One or more of the steps shown in FIG.7 may be performed by any of the components illustrated in the systemillustrated in FIG. 1. In one configuration, the method 700 is performedby a tracking system 100.

The user 103 and a tracking device 106 may be associated 702.Associating the user 103 and tracking device 106 may be performed basedon information that is received from the user 103 via a mobile device102. Additionally, a lost indication from the user 103 may be received704 indicating that a tracking device 106 is lost. The tracking device100 may set 706 a flag or other indicator indicating that the trackingdevice 106 is lost. The tracking system 100 may further receive 708 alocation within a proximity of the tracking device 106 from one of aplurality of mobile devices associated with a community of users. Forexample, the location may indicate an estimated location of the trackingdevice 106. Alternatively, the location may provide a location of thecommunity mobile device 104 within a proximity of the tracking device106. Further, the tracking system 100 may provide 710 the location thatis within a proximity of the tracking device 106 to a mobile device 102that is associated with the user 103.

FIG. 8 illustrates an exemplary method 800 of locating a tracking device106. While FIG. 8 illustrates exemplary steps according to oneembodiment, other embodiments may omit, add to, reorder, and/or modifyany of the steps shown in FIG. 8. One or more of the steps shown in FIG.8 may be performed by any of the components illustrated in the systemillustrated in FIG. 1. In one configuration, the method 800 is performedby a mobile device 102 associated with the user 103.

Tracking device information and user information may be provided 802 toa tracking system 100. The information may be provided to the trackingsystem 100 from a mobile device 102 for associating the user 103 and atracking device 106. The mobile device 102 may also send 804 a lostindication to the tracking system 100. The lost indication may indicatethat the tracking device 106 is lost. As described above, the lostindication may be processed by the tracking system 100 by setting a flagindicating that the tracking device 106 is lost and/or providing a lostrequest to the community of mobile devices 104. One or more users of thecommunity of users 105 may provide a response to the location request atthe tracking system 100. The mobile device 102 may receive 806 alocation within a proximity of the tracking device 106 based on aresponse to the location request. The response to the location requestmay be provided from one of the plurality of community mobile devices104 associated with the community of users 105 via the tracking system100.

FIG. 9 illustrates an exemplary method 900 of locating a tracking device106. While FIG. 9 illustrates exemplary steps according to oneembodiment, other embodiments may omit, add to, reorder, and/or modifyany of the steps shown in FIG. 9. One or more of the steps shown in FIG.9 may be performed by any of the components illustrated in the systemillustrated in FIG. 1. In one configuration, the method 900 is performedby the community mobile device 104 associated with the community user105.

A signal from a tracking device 106 may be detected 902 at a communitymobile device 104. The community mobile device 104 may further detect904 a location of the community mobile device 104, for example, at thetime and location at which the signal from the tracking device 106 isdetected. The community mobile device 104 may send 906 an electroniccommunication to the tracking system 100 indicating an identification ofthe tracking device 106 and the location of the detected location of themobile device 104.

Detecting 902 a signal, detecting 904 a location, and sending 906 theelectronic communication may be performed by the any of the communitymobile devices 104 in the community of mobile devices 104. Further, someor all of the method 900 may be performed by the community mobile device104 without the knowledge or input from an associated user 105. In otherwords, the method 900 may be performed on the community mobile device104 without knowledge of or participation of the user 105 associatedwith the community mobile device 104. Further, sending the electroniccommunication may be performed anonymously without conveying identifyinginformation about the community user 105 or the community mobile device104 that detected the tracking device 106.

FIG. 10 illustrates an exemplary method of locating a tracking device106. While FIG. 10 illustrates exemplary steps according to oneembodiment, other embodiments may omit, add to, reorder, and/or modifyany of the steps shown in FIG. 10. One or more of the steps shown inFIG. 10 may be performed by any of the components illustrated in thesystem illustrated in FIG. 1. In one configuration, steps of the methodare performed cooperatively using a mobile device 102, tracking system100, and the community mobile device 104.

A mobile device 102 provides 1002 user and tracking device data totracking system 100. The tracking system 100 receives 1002 the user andtracking device data and associates 1004 the user 103 with a trackingdevice 106. After the user 103 and tracking device 106 have beenassociated, the mobile device 102 provides 1006 a lost indication to thetracking system 100 indicating that the tracking device 106 is lost orotherwise unavailable. The tracking system 100 receives 1006 the lostindication and provides 1008 a location request to the community mobiledevice 104. The location request may be provided 1008 to the communitymobile device 104 via a broadcast from the tracking system 100 that istransmitted to a plurality of community mobile devices 104. Thecommunity mobile device 104 may detect 1010 proximity of a trackingdevice 106 to the community mobile device 104. In response to thelocation request and/or upon detecting proximity of the tracking device106, the community mobile device 104 may provide 1012 a location withina proximity of the tracking device 106 to the tracking system 100. Thelocation provided to the tracking system 100 may indicate an estimatedlocation of the tracking device 106 or a location of the communitymobile device 104 at the last known location that is within a proximityof the tracking device 106. The tracking system 100 may receive 1012 thelocation and provide 1014 the location to the mobile device 102.

FIG. 11 illustrates a block diagram of an exemplary computing device1100 that may be configured to perform one or more of the processesdescribed above. One will appreciate that the mobile device 102,tracking system 100, and community mobile devices 104 each may compriseone or more computing devices in accordance with implementations of thecomputing device 1100. As shown by FIG. 11, the computing device cancomprise a processor 1102, a memory 1104, a storage device 1106, an I/Ointerface 1108, and a communication interface 1110, which may becommunicatively coupled by way of communication infrastructure 1112.While an exemplary computing device 1100 is shown in FIG. 11, thecomponents illustrated in FIG. 11 are not intended to be limiting.Additional or alternative components may be used in other embodiments.Furthermore, in certain embodiments, a computing device 1100 can includefewer components than those shown in FIG. 11. Components of computingdevice 1100 shown in FIG. 11 will now be described in additional detail.

In particular embodiments, processor 1102 includes hardware forexecuting instructions, such as those making up a computer program. Asan example and not by way of limitation, to execute instructions,processor 1102 may retrieve (or fetch) the instructions from an internalregister, an internal cache, memory 1104, or storage device 1106 anddecode and execute them. In particular embodiments, processor 1102 mayinclude one or more internal caches for data, instructions, oraddresses. As an example and not by way of limitation, processor 1102may include one or more instruction caches, one or more data caches, andone or more translation lookaside buffers (TLBs). Instructions in theinstruction caches may be copies of instructions in memory 1104 orstorage 1106.

Memory 1104 may be used for storing data, metadata, and programs forexecution by the processor(s). Memory 1104 may include one or more ofvolatile and non-volatile memories, such as Random Access Memory(“RAM”), Read Only Memory (“ROM”), a solid state disk (“SSD”), Flash,Phase Change Memory (“PCM”), or other types of data storage. Memory 1104may be internal or distributed memory.

Storage device 1106 includes storage for storing data or instructions.As an example and not by way of limitation, storage device 1106 cancomprise a non-transitory storage medium described above. Storage device1106 may include a hard disk drive (HDD), a floppy disk drive, flashmemory, an optical disc, a magneto-optical disc, magnetic tape, or aUniversal Serial Bus (USB) drive or a combination of two or more ofthese. Storage device 1106 may include removable or non-removable (orfixed) media, where appropriate. Storage device 1106 may be internal orexternal to the computing device 1100. In particular embodiments,storage device 1106 is non-volatile, solid-state memory. In otherembodiments, Storage device 1106 includes read-only memory (ROM). Whereappropriate, this ROM may be mask programmed ROM, programmable ROM(PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM),electrically alterable ROM (EAROM), or flash memory or a combination oftwo or more of these.

I/O interface 1108 allows a user to provide input to, receive outputfrom, and otherwise transfer data to and receive data from computingdevice 1100. I/O interface 1108 may include a mouse, a keypad or akeyboard, a touch screen, a camera, an optical scanner, networkinterface, modem, other known I/O devices or a combination of such I/Ointerfaces. I/O interface 1108 may include one or more devices forpresenting output to a user, including, but not limited to, a graphicsengine, a display (e.g., a display screen), one or more output drivers(e.g., display drivers), one or more audio speakers, and one or moreaudio drivers. In certain embodiments, I/O interface 1108 is configuredto provide graphical data to a display for presentation to a user. Thegraphical data may be representative of one or more graphical userinterfaces and/or any other graphical content as may serve a particularimplementation.

Communication interface 1110 can include hardware, software, or both. Inany event, communication interface 1110 can provide one or moreinterfaces for communication (such as, for example, packet-basedcommunication) between computing device 1100 and one or more othercomputing devices or networks. As an example and not by way oflimitation, communication interface 1110 may include a network interfacecontroller (NIC) or network adapter for communicating with an Ethernetor other wire-based network or a wireless NIC (WNIC) or wireless adapterfor communicating with a wireless network, such as a WI-FI.

Additionally or alternatively, communication interface 1110 mayfacilitate communications with an ad hoc network, a personal areanetwork (PAN), a local area network (LAN), a wide area network (WAN), ametropolitan area network (MAN), or one or more portions of the Internetor a combination of two or more of these. One or more portions of one ormore of these networks may be wired or wireless. As an example,communication interface 1110 may facilitate communications with awireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FInetwork, a WI-MAX network, a cellular telephone network (such as, forexample, a Global System for Mobile Communications (GSM) network), orother suitable wireless network or a combination thereof.

Additionally, communication interface 1110 may facilitate communicationsvarious communication protocols. Examples of communication protocolsthat may be used include, but are not limited to, data transmissionmedia, communications devices, Transmission Control Protocol (“TCP”),Internet Protocol (“IP”), File Transfer Protocol (“FTP”), Telnet,Hypertext Transfer Protocol (“HTTP”), Hypertext Transfer Protocol Secure(“HTTPS”), Session Initiation Protocol (“SIP”), Simple Object AccessProtocol (“SOAP”), Extensible Mark-up Language (“XML”) and variationsthereof, Simple Mail Transfer Protocol (“SMTP”), Real-Time TransportProtocol (“RTP”), User Datagram Protocol (“UDP”), Global System forMobile Communications (“GSM”) technologies, Code Division MultipleAccess (“CDMA”) technologies, Time Division Multiple Access (“TDMA”)technologies, Short Message Service (“SMS”), Multimedia Message Service(“MMS”), radio frequency (“RF”) signaling technologies, Long TermEvolution (“LTE”) technologies, wireless communication technologies,in-band and out-of-band signaling technologies, and other suitablecommunications networks and technologies.

Communication infrastructure 1112 may include hardware, software, orboth that couples components of computing device 1100 to each other. Asan example and not by way of limitation, communication infrastructure1112 may include an Accelerated Graphics Port (AGP) or other graphicsbus, an Enhanced Industry Standard Architecture (EISA) bus, a front-sidebus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry StandardArchitecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count(LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, aPeripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, aserial advanced technology attachment (SATA) bus, a Video ElectronicsStandards Association local (VLB) bus, or another suitable bus or acombination thereof.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. Various embodimentsand aspects of the invention(s) are described with reference to detailsdiscussed herein, and the accompanying drawings illustrate the variousembodiments. The description above and drawings are illustrative of theinvention and are not to be construed as limiting the invention.Numerous specific details are described to provide a thoroughunderstanding of various embodiments of the present invention.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. For example, the methods described herein may beperformed with less or more steps/acts or the steps/acts may beperformed in differing orders. Additionally, the steps/acts describedherein may be repeated or performed in parallel with one another or inparallel with different instances of the same or similar steps/acts. Thescope of the invention is, therefore, indicated by the appended claimsrather than by the foregoing description. All changes that come withinthe meaning and range of equivalency of the claims are to be embracedwithin their scope.

What is claimed is:
 1. A method comprising: receiving, by a firstcomputing device of a plurality of computing devices from a user of thefirst computing device, a request to locate a tracking device associatedwith the first computing device; sending, by the first computing deviceto a tracking system server in response to receiving the request tolocate the tracking device from the user of the first computing device,a request for a location of the tracking device; receiving, by the firstcomputing device from the tracking system server, a location of thetracking device, the location of the tracking device being a locationassociated with the tracking device determined by a second computingdevice of the plurality of computing devices and provided by the secondcomputing device in response to the second computing device receiving asignal from the tracking device; and displaying, by the first computingdevice, the received location of the tracking device.
 2. The method ofclaim 1, wherein the first computing device or second computing deviceis a mobile device.
 3. The method of claim 1, wherein the trackingdevice comprises a transmitter for broadcasting a beacon signal andcircuitry for executing instructions.
 4. The method of claim 1, whereinthe signal from the tracking device is a communication signal.
 5. Themethod of claim 1, wherein the signal from the tracking device indicatesthat the tracking device is in proximity to the first computing device.6. The method of claim 1, wherein the first computing devicecommunicates with the tracking system server via a first communicationmethod and communicates with the tracking device via a secondcommunication method.
 7. The method of claim 1, further comprising:displaying, by a first computing device of a plurality of computingdevices, an interface identifying a tracking device associated with thefirst computing device.
 8. The method of claim 7, wherein the interfaceidentifying the tracking device associated with the first computingdevice comprises an interactive element; and wherein the request tolocate the tracking device is received from the user through interactionwith the interactive element of the interface.
 9. The method of claim 8,wherein the interface comprises a map interface comprising a location ofthe first computing device and a location associated with the trackingdevice.
 10. The method of claim 9, wherein the interface partiallydisplays the map interface before the first computing device receivesthe request to locate the tracking device from the user; and wherein theinterface is configured to fully display the map interface in responseto a selection of the partially displayed map interface.
 11. The methodof claim 7, wherein the interface indicates that the first computingdevice is not communicatively coupled to the tracking device.
 12. Themethod of claim 7, wherein the interface further identifies an object towhich the tracking device is coupled or in which the tracking device isembedded.
 13. The method of claim 1, wherein each computing device inthe plurality of computing devices is executing an applicationassociated with the tracking system server, the application configuredto, when the computing device receives a signal from the trackingdevice, determine a location associated with the tracking device andprovide the location associated with the tracking device and an identityof the tracking device to the tracking system server without notifying auser of the computing device.
 14. The method of claim 1, wherein thelocation associated with the tracking device determined by the secondcomputing device is a location of the second computing device at a timethat the second computing device receives the signal from the trackingdevice.
 15. A non-transitory computer-readable storage medium embodyingsoftware that is operable when executed by a processor of a firstcomputing device of a plurality of computing devices to: receive, by thefirst computing device of the plurality of the computing devices from auser of the first computing device, a request to locate a trackingdevice associated with the first computing device; send, by the firstcomputing device to a tracking system server in response to receivingthe request to locate the tracking device from the user of the firstcomputing device, a request for a location of the tracking device;receive, by the first computing device from the tracking system server,a location of the tracking device, the location of the tracking devicebeing a location associated with the tracking device determined by asecond computing device of the plurality of computing devices andprovided by the second computing device in response to the secondcomputing device receiving a signal from the tracking device; anddisplay, by the first computing device, the received location of thetracking device.
 16. The non-transitory computer-readable storage mediumof claim 15, wherein the first computing device or second computingdevice is a mobile device.
 17. The non-transitory computer-readablestorage medium of claim 15, wherein the tracking device comprises atransmitter for broadcasting a beacon signal and circuitry for executinginstructions.
 18. A system comprising: one or more processors; and oneor more computer-readable non-transitory storage media coupled to one ormore of the processors and comprising instructions operable whenexecuted by one or more of the processors to cause the system to:receive, from a user of the system, a request to locate a trackingdevice associated with the system; send, to a tracking system server inresponse to receiving the request to locate the tracking device from theuser of the system, a request for a location of the tracking device;receive, from the tracking system server, a location of the trackingdevice, the location of the tracking device being a location associatedwith the tracking device determined by a first computing device of aplurality of computing devices and provided by the first computingdevice in response to the first computing device receiving a signal fromthe tracking device; and display the received location of the trackingdevice.
 19. The system of claim 18, wherein the system or the firstcomputing device is a mobile device.
 20. The system of claim 18, whereinthe tracking device comprises a transmitter for broadcasting a beaconsignal and circuitry for executing instructions.